home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
gs24src.zip
/
VMS-CC.MAK
< prev
next >
Wrap
Text File
|
1992-03-25
|
7KB
|
272 lines
$ ! Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
$ ! Distributed by Free Software Foundation, Inc.
$ !
$ ! This file is part of Ghostscript.
$ !
$ ! Ghostscript is distributed in the hope that it will be useful, but
$ ! WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
$ ! to anyone for the consequences of using it or for whether it serves any
$ ! particular purpose or works at all, unless he says so in writing. Refer
$ ! to the Ghostscript General Public License for full details.
$ !
$ ! Everyone is granted permission to copy, modify and redistribute
$ ! Ghostscript, but only under the conditions described in the Ghostscript
$ ! General Public License. A copy of this license is supposed to have been
$ ! given to you along with Ghostscript so you can know your rights and
$ ! responsibilities. It should be in a file named COPYING. Among other
$ ! things, the copyright notice and this notice must be preserved on all
$ ! copies.
$ !
$ !
$ ! "makefile" for Ghostscript, VMS / VMS C / DECwindows (X11) configuration.
$ !
$ !
$ ! Execute this command file while in the GhostScript directory!
$ !
$ !
$ ! To build a debugging configuration, issue the command:
$ !
$ ! $ @VMS-CC.MAK DEBUG
$ !
$ ! Do not abbreviate "DEBUG". To specify an alternate directory for
$ ! GS_LIB_DEFAULT, issue the command:
$ !
$ ! $ @VMS-CC.MAK directory
$ !
$ ! with "directory" a fully qualified directory name. "directory" cannot
$ ! be DEBUG (otherwise it will be confused with the DEBUG switch). Both
$ ! the DEBUG switch and a directory name may be specified on the same
$ ! command line and in either order.
$ !
$ CDEF = ""
$ LDEF = ""
$ !
$ GS_INIT = "GS_INIT.PS"
$ GS_LIB_DEFAULT = F$ENVIRONMENT("DEFAULT")
$ IF P1 .NES. "" .AND. P1 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P1
$ IF P2 .NES. "" .AND. P2 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P2
$ !
$ IF P1 .NES. "DEBUG" .AND. P2 .NES. "DEBUG" THEN GOTO NODEBUG
$ CDEF = "/DEFINE=(""DEBUG"")/NOOPTIMIZE/DEBUG"
$ LDEF = "/DEBUG"
$ !
$ NODEBUG:
$ !
$ ! Give ourself a healthy search list for C include files
$ !
$ DEFINE C$INCLUDE 'F$ENVIRONMENT("DEFAULT"),DECW$INCLUDE,SYS$LIBRARY
$ DEFINE VAXC$INCLUDE C$INCLUDE
$ DEFINE SYS SYS$LIBRARY
$ !
$ !
$ ! Build the ANSI C to Kernighan & Ritchie filter
$ !
$ CC/NOLIST/OBJECT=ANSI2KNR.OBJ ANSI2KNR.C
$ LINK/NOMAP/EXE=ANSI2KNR.EXE ANSI2KNR,SYS$INPUT/OPT
SYS$SHARE:DECW$XLIBSHR/SHARE
$ DELETE ANSI2KNR.OBJ.*
$ !
$ ! Now define an ansi2knr symbol
$ !
$ ANSI2KNR = "$" + F$ENVIRONMENT("DEFAULT") + "ANSI2KNR.EXE"
$ !
$ !
$ ! Compile genarch.c and then run it to create the arch.h header file
$ !
$ CC/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C
$ LINK/NOMAP/EXE=GENARCH.EXE GENARCH,SYS$INPUT/OPT
SYS$SHARE:VAXCRTL/SHARE
$ GENARCH = "$" + F$ENVIRONMENT("DEFAULT") + "GENARCH.EXE"
$ GENARCH ARCH.H
$ DELETE GENARCH.EXE.*,GENARCH.OBJ.*
$ PURGE ARCH.H
$ !
$ !
$ ! Create a minimal gconfig.h and gconfig.ps
$ !
$ CREATE GCONFIG.H
device_(gs_x11_device)
$ !
$ CREATE GCONFIG.PS
%
$ !
$ ! Create an empty object library
$ !
$ LIBRARY/CREATE GS.OLB
$ !
$ !
$ ! Create a list of modules to compile and store in the object library
$ !
$ CREATE MODULES.LIS
GDEVMEM1
GDEVMEM2
GP_VMS
GSCHAR
GSCHAR0
GSCOLOR
GSCOORD
GSDEVICE
GSDPS1
GSFILE
GSFONT
GSIM2OUT
GSIMAGE
GSLINE
GSMATRIX
GSMISC
GSPAINT
GSPATH
GSPATH2
GSSTATE
GSTDEV
GSTYPE1
GSUTIL
GXCACHE
GXCLIST
GXCOLOR
GXCPATH
GXDITHER
GXDRAW
GXFILL
GXHT
GXPATH
GXPATH2
GXSTROKE
IALLOC
IBNUM
IBSCAN
ICCFONT
IDEBUG
IDICT
IINIT
INAME
INTERP
ISAVE
ISCAN
IUTIL
SFILTER
SFILTER2
STREAM
ZARITH
ZARRAY
ZBSEQ
ZCHAR
ZCOLOR
ZCONTROL
ZDEVICE
ZDICT
ZDPS1
ZFILE
ZFILEIO
ZFILTER
ZFILTER2
ZFONT
ZFONT0
ZFONT1
ZFONT2
ZGENERIC
ZGSTATE
ZHT
ZMATH
ZMATRIX
ZMISC
ZPACKED
ZPAINT
ZPATH
ZPATH2
ZPROPS
ZRELBIT
ZSTACK
ZSTRING
ZTYPE
ZUPATH
ZVMEM
$ !
$ !
$ ! NOW COMPILE AWAY!
$ !
$ OPEN/READ MODULE_LIST MODULES.LIS
$ !
$ COMPILE_LOOP:
$ READ/END=END_COMPILE MODULE_LIST MODULE
$ ANSI2KNR 'MODULE'.C 'MODULE'.CC
$ CC'CDEF/NOLIST/OBJECT='MODULE'.OBJ 'MODULE'.CC
$ LIBRARY/INSERT GS.OLB 'MODULE'.OBJ
$ DELETE 'MODULE'.OBJ.*
$ IF CDEF .EQS. "" THEN DELETE 'MODULE'.CC.*
$ GOTO COMPILE_LOOP
$ !
$ END_COMPILE:
$ CLOSE MODULE_LIST
$ DELETE MODULES.LIS.*
$ !
$ !
$ ! Is the DECwindows environment about? Must be installed in order to
$ ! build the executable programs gs.exe, gt.exe, and xlib.exe.
$ !
$ IF F$SEARCH("SYS$SHARE:DECW$XLIBSHR.EXE") .NES. "" THEN GOTO CHECK2
$ WRITE SYS$OUTPUT "DECwindows user environment not installed;"
$ WRITE SYS$OUTPUT "unable to build executable programs."
$ GOTO DONE
$ !
$ CHECK2:
$ IF F$TRNLNM("DECW$INCLUDE") .NES. "" THEN GOTO BUILD_EXES
$ WRITE SYS$OUTPUT "You must invoke @DECW$STARTUP before using this"
$ WRITE SYS$OUTPUT "command procedure to build the executable programs."
$ GOTO DONE
$ !
$ ! Build the executables
$ !
$ BUILD_EXES:
$ !
$ DEFINE X11 DECW$INCLUDE
$ !
$ ANSI2KNR GCONFIG.C GCONFIG.CC
$ LIBDEF = """GS_LIB_DEFAULT=""""" + ''GS_LIB_DEFAULT' + """"""""
$ INIDEF = """GS_INIT=""""" + ''GS_INIT' + """"""""
$ CC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.CC
$ !
$ ANSI2KNR GDEVXINI.C GDEVXINI.CC
$ CC'CDEF/NOLIST/OBJECT=GDEVXINI.OBJ GDEVXINI.CC
$ !
$ ANSI2KNR GDEVX.C GDEVX.CC
$ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.CC
$ !
$ ANSI2KNR GSMAIN.C GSMAIN.CC
$ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.CC
$ !
$ ANSI2KNR UTRACE.C UTRACE.CC
$ CC'CDEF/NOLIST/OBJECT=UTRACE.OBJ UTRACE.CC
$ !
$ !
$ ! GSMAIN and UTRACE are tossed into the GT link so that when a
$ ! debugging configuration is built, the gs_log_error and gs_exit
$ ! routines will be defined.
$ !
$ ANSI2KNR GS.C GS.CC
$ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.CC
$ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,UTRACE,GDEVX,GDEVXINI,GCONFIG,-
GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GXCLIST,-
ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCONTROL,ZDEVICE,ZDPS1,-
ZDICT,ZFILE,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
ZGENERIC,ZGSTATE,ZHT,ZMATH,ZMATRIX,ZMISC,ZPACKED,ZPAINT,ZPATH,ZPATH2,-
ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
SYS$SHARE:DECW$DWTLIBSHR/SHARE
$ !
$ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GSMAIN.OBJ.*,UTRACE.OBJ.*,GS.OBJ.*,-
GCONFIG.OBJ.*
$ IF CDEF .EQS. "" THEN -
DELETE GDEVX.CC.*,GDEVXINI.CC.*,GSMAIN.CC.*,UTRACE.CC.*,GS.CC.*,GCONFIG.CC.*
$ !
$ DELETE ANSI2KNR.EXE.*
$ !
$ DEASSIGN X11
$ !
$ DONE:
$ !
$ DEASSIGN C$INCLUDE
$ DEASSIGN VAXC$INCLUDE
$ DEASSIGN SYS
$ !
$ ! ALL DONE